package chapter02

object Test14_Array {
  def main(args: Array[String]): Unit = {
    //数组的使用
    //定义数组
    val a = new Array[Int](5)
    println(a.mkString(","))//将数组转换为字符串 中间元素使用,隔开
    //定义数组的数组的时候 就赋值 apply函数
    val b = Array.apply(1, 2, 3, 4, 5)
    println(b.mkString(","))
    //apply使用的过程中可以省略
    val c = Array(4, 5, 6, 7, 8, 9)
    println(c.mkString(","))
    //使用一个值将数组填充 fill函数
    val d = Array.fill(5)(10)
    println(d.mkString(","))
    //数组的更新元素
    //数组元素的值改变
    d(0) = 20
    println(d.mkString(","))
    d.update(1,30)
    println(d.mkString(","))
    //在尾部增加元素
    val e = d :+ 40 :+ 50
    println(e.mkString(","))
    //在头部增加元素
    val f = 1 +: 5 +: d
    println(f.mkString(","))
    //循环遍历
    for(i<-0 until d.length){
      println(d(i))
    }
    for(i <- d){
      println(i)
    }
    d.foreach(e=>{println(e)})
    d.foreach(println(_))
    d.foreach(println)
    //数组的查找
    //indexOf 如果找到返回下标 如果找不到返回-1
    println(d.indexOf(10))
    println(d.indexOf(100))
    //contains 如果找到返回true 找不到返回false
    println(d.contains(10))
    println(d.contains(100))
    //数组的合并 ++ contact
    val g = d ++ f
    println(g.mkString(","))
    val h = Array.concat(d, f)
    println(h.mkString(","))
  }
}
